Repository Management
Repository management — bu Linux tizimida paketlar va yangilanishlarni markazlashgan holda tarqatish, boshqarish va nazorat qilish jarayoni. O‘z repoingizni yaratish orqali ichki dasturlarni, maxsus paketlarni va yangilanishlarni oson tarqatish mumkin.
Repository Turlari
- Remote (rasmiy) repository — Internet orqali ulanish (Ubuntu, CentOS rasmiy repolari)
- Local repository — Tarmoq ichida yoki lokal serverda o‘rnatilgan repo
- Private repository — Faqat ichki ehtiyojlar uchun maxsus repo
APT Repository Management (Debian/Ubuntu)
1. Local APT repository yaratish
Katalog tuzish va paketlarni joylashtirish
mkdir -p /srv/myrepo
cp *.deb /srv/myrepo/
Paketlar ro‘yxatini generatsiya qilish
cd /srv/myrepo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Web server orqali repo ulash
Apache yoki Nginx orqali /srv/myrepo katalogini ulash.
Clientda repo qo‘shish
/etc/apt/sources.list yoki yangi .list faylga:
deb [trusted=yes] http://your-server-ip/myrepo ./
Paketni o‘rnatish
sudo apt update
sudo apt install myapp
2. Custom PPA yoki remote repo qo‘shish
sudo add-apt-repository ppa:user/ppa-name
sudo apt update
YUM Repository Management (RHEL/CentOS/Fedora)
1. Local YUM repository yaratish
Katalog tuzish va paketlarni joylashtirish
mkdir -p /srv/yumrepo
cp *.rpm /srv/yumrepo/
Paketlar metadata-sini generatsiya qilish
createrepo /srv/yumrepo
Web server orqali repo ulash
Apache yoki Nginx orqali /srv/yumrepo katalogini ulash.
Clientda repo fayli yaratish
/etc/yum.repos.d/myrepo.repo faylini yarating:
[myrepo]
name=My Local Repo
baseurl=http://your-server-ip/yumrepo/
enabled=1
gpgcheck=0
Paketni o‘rnatish
sudo yum clean all
sudo yum repolist
sudo yum install myapp
Repositoryni boshqarish va yangilash
- Paketlar va metadata fayllarni muntazam yangilab boring
- Keraksiz paketlarni olib tashlang
- GPG imzo bilan repolarni himoyalang (security uchun)
- Log va auditlarni tekshirib boring
Advanced Misollar
APT uchun GPG imzo qo‘shish
gpg --export --armor "Your Name" > public.key
apt-key add public.key
YUM uchun GPG imzo qo‘shish
gpg --gen-key
gpg --export -a "Your Name" > RPM-GPG-KEY-myrepo
myrepo.repo faylida:
gpgcheck=1
gpgkey=http://your-server-ip/yumrepo/RPM-GPG-KEY-myrepo
Foydali Amaliyotlar
- Paketlar va repolarni versiyalash
- Faqat ishonchli paketlarni repo orqali tarqating
- Monitoring va auditni yoqing
- Repolarni backup qilib boring
Foydali Buyruqlar va Havolalar
dpkg-scanpackages,createrepo,apt-key,yum-config-manager- Debian Repository Guide
- YUM Repository Guide
man sources.list,man yum.conf
Repository management yordamida Linux tizimida paketlarni professional tarqatish, boshqarish va yangilash imkoniyatiga ega bo‘lasiz. O‘z repoingizni yaratib, tizimni xavfsiz va markazlashgan holda boshqaring!